package com.java.main.service.user;

import java.util.List;

import com.java.main.controller.user.UserEntryInput;
import com.java.main.controller.user.UserInfoInput;
import com.java.main.controller.user.UserInput;
import com.java.main.controller.user.UserOutput;
import com.java.main.domain.KbmContent;
import com.java.main.domain.user.UserDO;
import com.java.main.domain.user.UserEntryDO;
import com.java.main.service.SysBaseService;

public interface UserService extends SysBaseService<UserDO, Integer> {
//	public PageOutput<UserOutput> findUserListByUserInput(UserInput input);

	public void saveUser(UserDO userDO);

	public void modifyUser(UserDO userDO);

	public void forbiddenUser(Integer id, KbmContent kbmContent);

	public UserDO createUser(String mobile,String userAccount,String password);

	public UserDO findByMobile(String mobile);

	public UserDO findByUserAccount(String userAccount);

	public UserDO findUserListById(UserInfoInput input, KbmContent kbmContent);

	public void saveUserEntry(UserEntryDO userEntryDO);

	public void deleteUserEntry(Integer entryId, KbmContent kbmContent);

	public List<UserOutput> findUserList(UserInput input);

//	public PageOutput<UserOutput> findUserListByRoleId(RoleInput input);

//	public PageOutput<UserRoleOutput> findUserListByUserRoleInput(UserRoleInput input);

//	public void bindUserRole(UserRoleBindInput input, String userId, Integer entryid);

//	public void saveOtherUser(UserDO userDO, UserDO userDO2);

	public UserDO findUserInfoById(Integer dataId, KbmContent kbmContent);

	public void updateUserEntry(UserEntryInput input, KbmContent kbmContent);

	public void updatePassWord(UserDO userDO);

	public UserDO findLoginUserListById(Integer currentUserId, KbmContent kbmContent);

	public List<UserDO> findUserListByDept(String string, KbmContent content);

	public Integer getMessageQuantity(KbmContent kbmContent);

	public UserDO findById(Integer id);

}
